package juanca.mole;

import java.util.Calendar;
import java.util.HashMap;

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONObject;

import ClasesExtras.GetIpAddress;
import ClasesExtras.ManejadorCampos;
import ClasesExtras.ValidacionCampos;
import ClasesExtras.handlerAlertMessage;
import ClasesExtras.handlerDb;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.WindowManager;
import android.widget.ArrayAdapter;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Spinner;
import android.widget.Toast;

import com.savagelook.android.JsonHelper;

public class InspaccionMp extends Activity {

	private int fAno;
	private int fMes;
	private int fDia;
	private String fechaVenMp;
	private String mp;
	private boolean estadoMp;
	private String obsEstadoMp;
	private int cantidadMp;
	private String obs;
	private String IdChequeoInspeccion;
	private String LoteProvee;
	public HashMap<String, Integer> MpId;
	private String tipo;

	public ProgressDialog progressDialog;
	public String date;
	public ValidacionCampos validarcampos = new ValidacionCampos();
	public static final int DATE_DIALOG_ID = 0;
	public static final String STRING_EMPTY = "";
	private String URL_REGISTRO_INSPECCION_MATERIA_PRIMA;
	private String URL_MATERIAS_PRIMAS;
	private EditText etCantMpInspectMp;
	private EditText etJustNoInspecMp;
	private EditText etObsInspecMp;
	private EditText etLoteProveeInspecMp;
	private RadioButton rbSiEstMpInspecMp;
	private RadioButton rbNoEstMpInspecMp;
	private Spinner spiMpInspecMp;
	private ManejadorCampos manejador;
	private handlerAlertMessage manejadorMensajes;
	private Activity activity;
	private InspaccionMp self = this;

	/**
	 * @return the loteProvee
	 */
	public String getLoteProvee() {
		return LoteProvee;
	}

	/**
	 * @param loteProvee
	 *            the loteProvee to set
	 */
	public void setLoteProvee(String loteProvee) {
		LoteProvee = loteProvee;
	}

	/**
	 * @return the tipo
	 */
	public String getTipo() {
		return tipo;
	}

	/**
	 * @param tipo
	 *            the tipo to set
	 */
	public void setTipo(String tipo) {
		this.tipo = tipo;
	}

	/**
	 * @return the idChequeoInspeccion
	 */
	public String getIdChequeoInspeccion() {
		return IdChequeoInspeccion;
	}

	/**
	 * @param idChequeoInspeccion
	 *            the idChequeoInspeccion to set
	 */
	public void setIdChequeoInspeccion(String idChequeoInspeccion) {
		IdChequeoInspeccion = idChequeoInspeccion;
	}

	/**
	 * @return the obs
	 */
	public String getObs() {
		return obs;
	}

	/**
	 * @param obs
	 *            the obs to set
	 */
	public void setObs(String obs) {
		this.obs = obs;
	}

	/**
	 * @return the cantidadMp
	 */
	public int getCantidadMp() {
		return cantidadMp;
	}

	/**
	 * @param cantidadMp
	 *            the cantidadMp to set
	 */
	public void setCantidadMp(int cantidadMp) {
		this.cantidadMp = cantidadMp;
	}

	/**
	 * @return the obsEstadoMp
	 */
	public String getObsEstadoMp() {
		return obsEstadoMp;
	}

	/**
	 * @param obsEstadoMp
	 *            the obsEstadoMp to set
	 */
	public void setObsEstadoMp(String obsEstadoMp) {
		this.obsEstadoMp = obsEstadoMp;
	}

	/**
	 * @return the estadoMp
	 */
	public boolean isEstadoMp() {
		return estadoMp;
	}

	/**
	 * @param estadoMp
	 *            the estadoMp to set
	 */
	public void setEstadoMp(boolean estadoMp) {
		this.estadoMp = estadoMp;
	}

	/**
	 * @return the mp
	 */
	public String getMp() {
		return mp;
	}

	/**
	 * @param mp
	 *            the mp to set
	 */
	public void setMp(String mp) {
		this.mp = mp;
	}

	/**
	 * @return the fechaVenMp
	 */
	public String getFechaVenMp() {
		return fechaVenMp;
	}

	/**
	 * @param fechaVenMp
	 *            the fechaVenMp to set
	 */
	public void setFechaVenMp(String fechaVenMp) {
		this.fechaVenMp = fechaVenMp;
	}

	/* onCreate */
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.layout_inspaccion_mp);

		getWindow().setSoftInputMode(
				WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

		etJustNoInspecMp = (EditText) findViewById(R.id.etJustNoInspecMp);
		etObsInspecMp = (EditText) findViewById(R.id.etObsInspecMp);
		rbSiEstMpInspecMp = (RadioButton) findViewById(R.id.rbSiEstMpInspecMp);
		rbNoEstMpInspecMp = (RadioButton) findViewById(R.id.rbNoEstMpInspecMp);
		etCantMpInspectMp = (EditText) findViewById(R.id.etCantMpInspectMp);
		etLoteProveeInspecMp = (EditText) findViewById(R.id.etLoteProveeInspecMp);
		spiMpInspecMp = (Spinner) findViewById(R.id.spiMpInspecMp);
		manejadorMensajes = new handlerAlertMessage();
		manejador = new ManejadorCampos();
		activity = this;

	}

	@Override
	protected void onStart() {
		super.onStart();

		handlerDb db = new handlerDb(this);
		db.abrir();
		if (db.leerTabla4("actividad").equals("new")) {
			this.setTitle(this.getString(R.string.title_activity_inspaccion_mp)
					+ ". (" + this.getString(R.string.msjDatosProcesoNumLote)
					+ ": " + db.leer("nombre_lote") + ", "
					+ this.getString(R.string.msjDatosProcesoProducto) + ": "
					+ db.leer("nombre_producto") + ")");

		} else {
			this.setTitle(this.getString(R.string.title_activity_inspaccion_mp)
					+ ". (" + this.getString(R.string.msjDatosProcesoNumLote)
					+ ": " + db.leerTabla2("nombre_lote") + ", "
					+ this.getString(R.string.msjDatosProcesoProducto) + ": "
					+ db.leerTabla2("nombre_producto") + ")");
		}
		db.cerrar();
		GetIpAddress direccion = new GetIpAddress(this);

		if (direccion.getDireccion() != null) {

			URL_REGISTRO_INSPECCION_MATERIA_PRIMA = direccion.getDireccion()
					+ "/registros_imp.json";
			URL_MATERIAS_PRIMAS = direccion.getDireccion()
					+ "/materias_primas.json";

			final ProgressDialog pd = ProgressDialog.show(this, null,
					this.getString(R.string.PbMsjCargando), true, true);

			// crear un nuevo hilo
			new Thread(new Runnable() {
				@Override
				public void run() {

					self.materiaPrima(URL_MATERIAS_PRIMAS);
					pd.dismiss();

				}
			}).start();
		} else {
			new AlertDialog.Builder(this)
					.setIcon(android.R.drawable.ic_dialog_alert)
					.setTitle(R.string.tituloAlerta)
					.setMessage(R.string.msjErSinDireccion)
					.setPositiveButton(R.string.btnAceptar,
							new DialogInterface.OnClickListener() {// un
								// listener que al pulsar, cierre la
								// aplicacion
								@Override
								public void onClick(DialogInterface dialog,
										int which) {
									// Salir
									Intent intent = new Intent();
									intent.setClass(activity, Etapas.class);
									startActivity(intent);
								}
							}).show();
		}
	}

	/* onResume */
	@Override
	protected void onResume() {
		super.onResume();

		Bundle bundleChequo = new Bundle();
		bundleChequo = this.getIntent().getBundleExtra("llave");

		if (bundleChequo != null) {
			this.setTipo(bundleChequo.getString("this"));

			if (this.getTipo() == null) {

				this.setFechaVenMp(bundleChequo.getString("fecha_ven"));
				this.etCantMpInspectMp.setText((bundleChequo
						.getString("cantidad")));
				this.etLoteProveeInspecMp.setText(bundleChequo
						.getString("num_lote"));
				this.etJustNoInspecMp.setText(bundleChequo.getString("pq_no"));
				this.setEstadoMp(bundleChequo.getBoolean("estado"));
				this.etObsInspecMp.setText(bundleChequo.getString("obs"));
				this.setIdChequeoInspeccion(bundleChequo
						.getString("id_chequeo"));

				if (this.isEstadoMp()) {
					this.rbNoEstMpInspecMp.setChecked(false);
					this.rbSiEstMpInspecMp.setChecked(true);
					this.etJustNoInspecMp.setEnabled(false);

				} else {
					this.rbNoEstMpInspecMp.setChecked(true);
					this.rbSiEstMpInspecMp.setChecked(false);
				}

			} else {
				if (this.getTipo().equals("NewProcess")) {

					handlerDb db = new handlerDb(this);
					db.abrir();
					db.registrarTabla4("new");
					db.cerrar();
				}

			}

		}
	}

	/* btn fecha de vencimiento de materia prima */
	@SuppressWarnings("deprecation")
	public void FechaVencMp(View v) {
		final Calendar c = Calendar.getInstance();
		fAno = c.get(Calendar.YEAR);
		fMes = c.get(Calendar.MONTH);
		fDia = c.get(Calendar.DAY_OF_MONTH);
		showDialog(DATE_DIALOG_ID);
	}

	private DatePickerDialog.OnDateSetListener showdate = new DatePickerDialog.OnDateSetListener() {

		@SuppressLint("SimpleDateFormat")
		@Override
		public void onDateSet(DatePicker view, int year, int monthOfYear,
				int dayOfMonth) {
			fAno = year;
			fMes = monthOfYear + 1;
			fDia = dayOfMonth;

			Context context = getApplicationContext();
			CharSequence text = new StringBuilder().append(fDia).append("-")
					.append(fMes).append("-").append(fAno);
			int duration = Toast.LENGTH_SHORT;

			Toast toast = Toast.makeText(context, text, duration);
			toast.show();
			date = (fDia + "-" + fMes + "-" + fAno).toString();
			setFechaVenMp(date);

		}
	};

	/* onCreateDialog */
	@Override
	protected Dialog onCreateDialog(int id) {
		switch (id) {
		case DATE_DIALOG_ID:
			return new DatePickerDialog(this, showdate, fAno, fMes, fDia);
		}
		return null;
	}

	/* Metodo de radiobutton estado */
	public void ifEstadoMp(View v) {
		// Is the button now checked?
		boolean checked = ((RadioButton) v).isChecked();

		// Check which radio button was clicked

		switch (v.getId()) {
		case R.id.rbSiEstMpInspecMp:
			if (checked) {

				this.setEstadoMp(checked);
				etJustNoInspecMp.setText(STRING_EMPTY);
				etJustNoInspecMp.setEnabled(!checked);

			}
			break;
		case R.id.rbNoEstMpInspecMp:
			if (checked) {
				this.setEstadoMp(!checked);
				etJustNoInspecMp.setEnabled(checked);
				etJustNoInspecMp.requestFocus();
				getWindow().setSoftInputMode(
						WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);

			}
			break;

		}
	}

	/* Metodo que permite realizar el registro de la cantidad de materia prima */
	public void registrarInspeccion(View v) {
		int cantMP = manejador.validarPh(etCantMpInspectMp);
		if (cantMP != 0) {
			switch (cantMP) {
			case 17:
				manejadorMensajes.alertMessageOneButton(activity,
						R.string.tituloAlerta, R.string.msjCantMPvac,
						R.string.btnAceptar);
				break;
			}
		} else {

			this.validar();

		}

	}

	/* Spinner de materiaPrima */
	public void materiaPrima(String url) {

		MpId = new HashMap<String, Integer>();
		try {

			JSONObject mp = new JSONObject();
			JSONArray materiasPrimas = JsonHelper.getJsonArrayFromUrl(url);

			final ArrayAdapter<String> Lista_materias_primas = new ArrayAdapter<String>(
					this, android.R.layout.simple_spinner_item);

			for (int j = 0; j < materiasPrimas.length(); j++) {
				mp = materiasPrimas.getJSONObject(j);
				Lista_materias_primas.add(mp.getString("nombre"));
				MpId.put(mp.getString("nombre"),
						Integer.parseInt(mp.getString("id")));

			}

			runOnUiThread(new Runnable() {
				public void run() {
					Lista_materias_primas
							.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
					spiMpInspecMp.setAdapter(Lista_materias_primas);
				}
			});

		} catch (final Exception e) {
			/*
			 * hilo que muestra el mensaje de error de conexion al cargar los
			 * datos
			 */
			runOnUiThread(new Runnable() {
				public void run() {

					AlertDialog.Builder mensajeEmergente = new AlertDialog.Builder(
							activity);
					mensajeEmergente.setTitle(R.string.tituloError);
					mensajeEmergente.setMessage(self
							.getString(R.string.msjERConexionCargar)
							+ " "
							+ self.getString(R.string.msjInternalError)
							+ ": "
							+ e.fillInStackTrace().toString());
					mensajeEmergente.setNeutralButton(R.string.btnAceptar,
							new DialogInterface.OnClickListener() {

								public void onClick(DialogInterface dialog,
										int which) {

									Intent intent = new Intent();
									intent.setClass(activity, TipoProceso.class);
									startActivity(intent);

								}
							});

					mensajeEmergente.create();
					mensajeEmergente.show();
				}
			});
		}

	}

	/* Validacion de campos y variables */
	public void validar() {
		if (this.getFechaVenMp() != null) {
			if (rbSiEstMpInspecMp.isChecked() || rbNoEstMpInspecMp.isChecked()) {
				if (this.getIdChequeoInspeccion() != null) {
					this.setMp(spiMpInspecMp.getSelectedItem().toString());

					this.setCantidadMp(Integer.parseInt(etCantMpInspectMp
							.getText().toString()));

					if (!etJustNoInspecMp.getText().equals(STRING_EMPTY)) {
						String JustNoInspecMp = this.etJustNoInspecMp.getText()
								.toString();
						JustNoInspecMp = this.validarcampos
								.DeleteAccents(JustNoInspecMp);
						JustNoInspecMp = this.validarcampos
								.quitarEspaciosIniFin(JustNoInspecMp);
						this.setObsEstadoMp(JustNoInspecMp);
					}

					if (!etObsInspecMp.getText().equals(STRING_EMPTY)) {

						String ObsInspecMp = this.etObsInspecMp.getText()
								.toString();
						ObsInspecMp = this.validarcampos
								.DeleteAccents(ObsInspecMp);
						ObsInspecMp = this.validarcampos
								.quitarEspaciosIniFin(ObsInspecMp);
						this.setObs(ObsInspecMp);
					} else {
						this.setObs(this.getString(R.string.msjN_A));
					}
					if (!etLoteProveeInspecMp.getText().equals(STRING_EMPTY)) {

						String LoteProveeInspecMp = this.etLoteProveeInspecMp
								.getText().toString();
						LoteProveeInspecMp = this.validarcampos
								.DeleteAccents(LoteProveeInspecMp);
						LoteProveeInspecMp = this.validarcampos
								.quitarEspaciosIniFin(LoteProveeInspecMp);
						this.setLoteProvee(LoteProveeInspecMp);
					} else {
						this.setLoteProvee(this.getString(R.string.msjN_A));
					}

					progressDialog = new ProgressDialog(self);
					progressDialog.setMessage(this
							.getString(R.string.PbMsjRegistrando));
					progressDialog.setCancelable(true);
					progressDialog.show();

					new Thread(new Runnable() {
						@Override
						public void run() {
							Log.i("InspeccionMp", "a envio de bases de datos");
							self.envioBaseDatos();

						}
					}).start();

				} else {
					// msj hace falta password o id
					manejadorMensajes.alertMessageOneButton(activity,
							R.string.tituloAlerta,
							R.string.msjErMakeChequeoInspec,
							R.string.btnAceptar);
				}

			} else {
				// msj seleccione el estado de mp
				manejadorMensajes.alertMessageOneButton(activity,
						R.string.tituloAlerta, R.string.msjEstMatPrima,
						R.string.btnAceptar);
			}

		} else {
			// msj hace falta fecha vencimiento
			manejadorMensajes.alertMessageOneButton(activity,
					R.string.tituloAlerta, R.string.msjSelecFecha,
					R.string.btnAceptar);
		}
	}

	/* metodo que envia los datos al servidor */
	public void envioBaseDatos() {
		HttpClient httpClient = new DefaultHttpClient();
		HttpPost post = new HttpPost(URL_REGISTRO_INSPECCION_MATERIA_PRIMA);
		handlerDb dataBase = new handlerDb(this);
		dataBase.abrir();
		String IdEmpleado = dataBase.leer("id_empleado");
		String IdProceso = dataBase.leer("id_proceso");
		String idEmpleadoTabla2 = dataBase.leerTabla2("id_empleado");
		String IdProcesoTablas2 = dataBase.leerTabla2("id_proceso");

		try {

			JSONObject dato = new JSONObject();
			dato.put("cantidad_mp", this.getCantidadMp());
			dato.put("chequeo_inspeccion_id", this.getIdChequeoInspeccion());
			dato.put("estado_mp", this.isEstadoMp());
			dato.put("fecha_vencimiento_pt", this.getFechaVenMp());
			dato.put("materia_prima_id", MpId.get(this.getMp()));
			dato.put("obs_estado", this.getObsEstadoMp());
			dato.put("lote_proveedor", this.getLoteProvee());
			dato.put("observaciones", this.getObs());

			Log.i("InspeccionMp", "antes del if de proceso nuevo o viejo");
			if (dataBase.leerTabla4("actividad").equals("old")) {
				dato.put("empleado_id", idEmpleadoTabla2);
				dato.put("proceso_id", IdProcesoTablas2);
				Log.i("InspeccionMp", "toma proceso antiguo");
			} else {
				if (dataBase.leerTabla4("actividad").equals("new")) {
					dato.put("empleado_id", IdEmpleado);
					dato.put("proceso_id", IdProceso);
					Log.i("InspeccionMp", "toma proceso nuevo");
				}

			}
			StringEntity entity = new StringEntity(dato.toString());
			post.setHeader("Content-Type", "application/json; chartset=UTF-8");
			post.setHeader("Accept", "application/json");
			post.setEntity(entity);
			HttpResponse resp = httpClient.execute(post);
			final String respStr = EntityUtils.toString(resp.getEntity());
			Log.e("InspeccionMp", respStr);

			if (respStr.equals("true")) {
				Log.e("InspeccionMp", "el servidor me retorno true");

				Log.e("InspeccionMp", "esta antes del hilo de msj exitoso");
				// mensaje de respuesta del servidor
				runOnUiThread(new Runnable() {
					public void run() {

						self.setIdChequeoInspeccion(null);
						self.setCantidadMp(0);
						self.setFechaVenMp(null);
						self.setObsEstadoMp(null);
						self.setObs(null);
						self.etCantMpInspectMp.setText(STRING_EMPTY);
						self.etJustNoInspecMp.setText(STRING_EMPTY);
						self.etLoteProveeInspecMp.setText(STRING_EMPTY);
						self.etObsInspecMp.setText(STRING_EMPTY);

						progressDialog.dismiss();
						manejadorMensajes.alertMessageOneButton(activity,
								R.string.msjMuyBien,
								R.string.msjRegistroExitoso,
								R.string.btnAceptar);
						Log.e("InspeccionMp",
								"el servidor me retorno true y esta en el mensaje en pantalla");

					}
				});
			} else {
				if (respStr.equals("cmpnv")) {
					runOnUiThread(new Runnable() {
						public void run() {

							progressDialog.dismiss();
							manejadorMensajes.alertMessageOneButton(activity,
									R.string.tituloAlerta, R.string.msjErcmpnv,
									R.string.btnAceptar);
							Log.e("InspeccionMp",
									"el servidor me retorno Cantidad materia prima no valida "
											+ "(cmpnv) y esta en el mensaje en pantalla");
						}
					});

				} else {
					runOnUiThread(new Runnable() {
						public void run() {

							progressDialog.dismiss();
							AlertDialog.Builder mensajeEmergente = new AlertDialog.Builder(
									activity);
							mensajeEmergente.setTitle(R.string.tituloError);
							mensajeEmergente.setMessage(respStr);
							mensajeEmergente.setNeutralButton(
									R.string.btnAceptar, null);
							mensajeEmergente.create();
							mensajeEmergente.show();
							Log.e("InspeccionMp",
									"el servidor no retorno true y esta en el mensaje en pantalla");
						}
					});
				}
			}

		} catch (final Exception e) {

			Log.e("InspeccionMp", "me salta al catch y no termina el TRY");
			Log.e("InspeccionMp", e.toString());

			// mensaje de respuesta del servidor
			runOnUiThread(new Runnable() {
				public void run() {

					progressDialog.dismiss();
					AlertDialog.Builder mensajeEmergente = new AlertDialog.Builder(
							activity);
					mensajeEmergente.setTitle(R.string.tituloError);
					mensajeEmergente.setMessage(self
							.getString(R.string.msjERConexionEnviar)
							+ " "
							+ self.getString(R.string.msjInternalError)
							+ ": "
							+ e.fillInStackTrace().toString());
					mensajeEmergente
							.setNeutralButton(R.string.btnAceptar, null);
					mensajeEmergente.create();
					mensajeEmergente.show();

				}
			});

		}
		dataBase.cerrar();

	}

	/* metodo que lleva a la vista de chequeo */
	public void goCheqInspec(View view) {
		Intent intent = new Intent();
		intent.setClass(this, ChequeInspecMp.class);
		Bundle b = new Bundle();
		b.putString("fecha_ven", this.getFechaVenMp());
		b.putString("cantidad", this.etCantMpInspectMp.getText().toString());
		b.putString("num_lote", this.etLoteProveeInspecMp.getText().toString());
		b.putString("pq_no", this.etJustNoInspecMp.getText().toString());
		b.putString("obs", this.etObsInspecMp.getText().toString());
		b.putBoolean("estado", this.isEstadoMp());
		intent.putExtra("State", b);
		startActivity(intent);
	}

	/* metodo que lleva a la vista de control de fruver */
	public void goCtrlFruv(View view) {
		Intent intent = new Intent();
		intent.setClass(this, CtrlManejoFruver.class);
		intent.putExtra("processType", "20");
		startActivity(intent);
	}

	@Override
	public boolean onKeyUp(int keyCode, KeyEvent event) {

		if (keyCode == KeyEvent.KEYCODE_BACK) {

			// Salir
			Intent intent = new Intent();
			intent.setClass(activity, TipoProceso.class);
			startActivity(intent);
			return true;

		}
		// para las demas cosas, se reenvia el evento al listener habitual
		return super.onKeyUp(keyCode, event);
	}

	@Override
	protected void onSaveInstanceState(Bundle outState) {
		super.onSaveInstanceState(outState);

		outState.putString("fecha", this.getFechaVenMp());
		outState.putString("cantidad", this.etCantMpInspectMp.getText()
				.toString());
		outState.putString("num_lote", this.etLoteProveeInspecMp.getText()
				.toString());
		outState.putString("pq_no", this.etJustNoInspecMp.getText().toString());
		outState.putBoolean("estado", this.isEstadoMp());
		outState.putString("obs", this.etObsInspecMp.getText().toString());
		outState.putBoolean("enable", this.etJustNoInspecMp.isEnabled());
	}

	@Override
	protected void onRestoreInstanceState(Bundle savedInstanceState) {
		super.onRestoreInstanceState(savedInstanceState);

		this.setFechaVenMp(savedInstanceState.getString("fecha"));
		this.etCantMpInspectMp
				.setText(savedInstanceState.getString("cantidad"));
		this.etLoteProveeInspecMp.setText(savedInstanceState
				.getString("num_lote"));
		this.etJustNoInspecMp.setText(savedInstanceState.getString("pq_no"));
		this.setEstadoMp(!savedInstanceState.getBoolean("estado"));
		this.etObsInspecMp.setText(savedInstanceState.getString("obs"));
		this.etJustNoInspecMp.setEnabled(savedInstanceState
				.getBoolean("enable"));

	}

}